﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace TwoGesture
{
    public partial class Formulario1 : Form
    {
        public string valor = string.Empty;
        public string banderausuario = string.Empty;
        public string banderapregunta = string.Empty;

        private BindingSource bindingsource1 = new BindingSource();
        private SqlDataAdapter dataAdapter = new SqlDataAdapter();
        public Formulario1()
        {
            InitializeComponent();
            this.cmbtipo.DropDownStyle = ComboBoxStyle.DropDownList;
        }
        public Formulario1(string valor_)
        {
            valor = valor_;
            InitializeComponent();
            this.cmbtipo.DropDownStyle = ComboBoxStyle.DropDownList;
        }

        private void Formulario1_Load(object sender, EventArgs e)
        {
            // TODO: esta línea de código carga datos en la tabla 'proyectoDataSet2.pregunta' Puede moverla o quitarla según sea necesario.
          //  this.preguntaTableAdapter1.Fill(this.proyectoDataSet2.pregunta);
            // TODO: esta línea de código carga datos en la tabla 'proyectoDataSet1.pregunta' Puede moverla o quitarla según sea necesario.
          //  this.preguntaTableAdapter.Fill(this.proyectoDataSet1.pregunta);
            // TODO: esta línea de código carga datos en la tabla 'proyectoDataSet.usuario' Puede moverla o quitarla según sea necesario.
          //  this.usuarioTableAdapter.Fill(this.proyectoDataSet.usuario);
            // TODO: esta línea de código carga datos en la tabla 'proyectoDataSet.usuario' Puede moverla o quitarla según sea necesario.
         //   this.usuarioTableAdapter.Fill(this.proyectoDataSet.usuario);
            LlenarTabla();

        }


        public void LlenarTabla()
        {
            ConsultasTabla ct = new ConsultasTabla();
            DataTable dt = (DataTable)ct.datos();
            if (dt != null)
            {
                dgvUsuarios.DataSource = dt;
            }
            else
            {

            }
        }


        public void validacion_formulario()
        {
            if (string.IsNullOrEmpty(banderausuario))
            {
                if (txtnombre.Text.Trim().ToString() == "" || txtapaterno.Text.Trim().ToString() == "" || txtamaterno.Text.Trim().ToString() == ""
                    || txtusuarioform.Text.Trim().ToString() == "" || txtcontraseniaconf.Text.Trim().ToString() == "" ||
                    txtcontraseniaconf.Text.Trim().ToString() == "" || cmbtipo.Text.Trim().ToString() == "")
                {
                    MessageBox.Show("Uno o varios campos continuna vacios");
                }
                else
                {
                    if (txtcontraseñaform.Text.Trim().ToString().Length < 8 || txtcontraseñaform.Text.Trim().ToString().Length > 10)
                    {
                        MessageBox.Show("La contraseña debe de contener de 8 a 10 caracteres");
                        this.txtcontraseniaconf.Clear();
                        this.txtcontraseñaform.Clear();
                    }
                    else
                    {
                        if (txtcontraseñaform.Text.Trim().ToString() != txtcontraseniaconf.Text.Trim().ToString())
                        {
                            MessageBox.Show("Las contraseñas no coinciden");
                            this.txtcontraseniaconf.Clear();
                            this.txtcontraseñaform.Clear();
                        }
                        else
                        {
                            if (txtusuarioform.Text.Trim().ToString() == txtcontraseniaconf.Text.Trim().ToString())
                            {
                                MessageBox.Show("Las contraseñas debe ser diferente a el usuario");
                                this.txtcontraseniaconf.Clear();
                                this.txtcontraseñaform.Clear();
                            }
                            else
                            {

                                Conexion con = new Conexion();
                                con.InsertarUsuario(this.txtnombre.Text.Trim().ToString(), this.txtapaterno.Text.Trim().ToString(), this.txtamaterno.Text.Trim().ToString(),
                                    this.txtusuarioform.Text.Trim().ToString(), this.txtcontraseñaform.Text.Trim().ToString(), this.cmbtipo.Text.Trim().ToString());

                                this.txtnombre.Clear();
                                this.txtamaterno.Clear();
                                this.txtapaterno.Clear();
                                this.txtusuarioform.Clear();
                                this.txtcontraseniaconf.Clear();
                                this.txtcontraseñaform.Clear();
                                this.cmbtipo.SelectedIndex = -1;
                            }
                        }
                    }
                }
            }
            else
            {
                if (txtnombre.Text.Trim().ToString() == "" || txtapaterno.Text.Trim().ToString() == "" || txtamaterno.Text.Trim().ToString() == ""
                    || txtusuarioform.Text.Trim().ToString() == "" || cmbtipo.Text.Trim().ToString() == "")
                {
                    MessageBox.Show("Uno o varios campos continuna vacios");
                }
                else
                {
                    if (txtcontraseñaform.Text.Trim().ToString().Length < 8 || txtcontraseñaform.Text.Trim().ToString().Length > 10)
                    {
                        MessageBox.Show("La contraseña debe de contener de 8 a 10 caracteres");
                        this.txtcontraseniaconf.Clear();
                        this.txtcontraseñaform.Clear();
                    }
                    else
                    {


                        Conexion con = new Conexion();
                        con.ActualizarPregunta(this.txtnombre.Text.Trim().ToString(), this.txtapaterno.Text.Trim().ToString(), this.txtamaterno.Text.Trim().ToString(),
                            this.txtusuarioform.Text.Trim().ToString(), this.cmbtipo.Text.Trim().ToString(),banderausuario);

                        this.txtnombre.Clear();
                        this.txtamaterno.Clear();
                        this.txtapaterno.Clear();
                        this.txtusuarioform.Clear();
                        this.txtcontraseniaconf.Clear();
                        this.txtcontraseñaform.Clear();
                        this.cmbtipo.SelectedIndex = -1;
                        this.txtcontraseniaconf.Enabled = true;
                        this.txtcontraseñaform.Enabled = true;
                        this.banderausuario = string.Empty;
                    }
                }
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.validacion_formulario();
            this.LlenarTabla();
        }

        private void fillByToolStripButton_Click(object sender, EventArgs e)
        {
            try
            {
                this.usuarioTableAdapter.FillBy(this.proyectoDataSet.usuario);
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }

        }

        private void label5_Click(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.insertar_preguntas();
        }

        public void insertar_preguntas()
        {

            if (this.txtpregunta.Text.Trim().ToString() == "")
            {
                MessageBox.Show("El campo pregunta esta vacio");
            }
            else
            {
                if (this.txtrespuesta1.Text.Trim().ToString() == "" || this.txtrespuesta2.Text.Trim().ToString() == "" ||
                    this.txtrespuesta3.Text.Trim().ToString() == "" || this.txtrespuesta4.Text.Trim().ToString() == "")
                {
                    MessageBox.Show("Falta llenar alguna de las respuestas");
                }
                else
                {
                    Conexion con = new Conexion();
                    con.InsertarPregunta(this.txtpregunta.Text.Trim().ToString(), this.txtrespuesta1.Text.Trim().ToString(),
                        this.txtrespuesta2.Text.Trim().ToString(), this.txtrespuesta3.Text.Trim().ToString(),
                        this.txtrespuesta4.Text.Trim().ToString(), banderapregunta);
                    this.txtpregunta.Clear();
                    this.txtrespuesta1.Clear();
                    this.txtrespuesta2.Clear();
                    this.txtrespuesta3.Clear();
                    this.txtrespuesta4.Clear();
                    banderapregunta = string.Empty;

                    /* TablaPreguntas.DataSource = bindingsource1;
                     actualizar("select * from pregunta");
                     DataSet rojo = new DataSet("singularity");
                     TablaPreguntas.DataSource=rojo.Tables["singularity"];
                     TablaPreguntas.Update();*/



                }
            }
        }

        private void toolStripContainer1_TopToolStripPanel_Click(object sender, EventArgs e)
        {

        }

        private void cerrarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Login lg = new Login();
            lg.Show();
            this.Hide();
        }

        private void datatabla2(object sender, DataGridViewCellMouseEventArgs e)
        {


            if (e.RowIndex != -1)
            {
                if (e.ColumnIndex != 1)
                {
                    if (!string.IsNullOrEmpty(TablaPreguntas.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()))
                    {
                        DataGridViewRow fila = TablaPreguntas.CurrentRow;
                        valor = Convert.ToString(proyectoDataSet2.Tables[0].Rows[e.RowIndex][1]);
                        txtpregunta.Text = valor;
                        valor = Convert.ToString(proyectoDataSet2.Tables[0].Rows[e.RowIndex][2]);
                        txtrespuesta1.Text = valor;
                        valor = Convert.ToString(proyectoDataSet2.Tables[0].Rows[e.RowIndex][3]);
                        txtrespuesta2.Text = valor;
                        valor = Convert.ToString(proyectoDataSet2.Tables[0].Rows[e.RowIndex][4]);
                        txtrespuesta3.Text = valor;
                        valor = Convert.ToString(proyectoDataSet2.Tables[0].Rows[e.RowIndex][5]);
                        txtrespuesta4.Text = valor;
                        banderapregunta = Convert.ToString(proyectoDataSet2.Tables[0].Rows[e.RowIndex][0]);
                    }
                }
            }
        }

        private void fillByToolStripButton_Click_1(object sender, EventArgs e)
        {
            try
            {
                this.preguntaTableAdapter.FillBy(this.proyectoDataSet1.pregunta);
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }

        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            this.txtpregunta.Clear();
            this.txtrespuesta1.Clear();
            this.txtrespuesta2.Clear();
            this.txtrespuesta3.Clear();
            this.txtrespuesta4.Clear();
            banderapregunta = string.Empty;
        }

        private void actualizar(string consulta)
        {
            String datasource = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Arturo\Documents\Visual Studio 2008\Projects\ventas\ventas\dbempresa.mdf;Integrated Security=True;User Instance=True";
            dataAdapter = new SqlDataAdapter(consulta, datasource);
            SqlCommandBuilder comando = new SqlCommandBuilder(dataAdapter);
            DataTable tabla = new DataTable();
            dataAdapter.Fill(tabla);
            bindingsource1.DataSource = tabla;
        }

        private void btneliminar_Click(object sender, EventArgs e)
        {
            Conexion cn = new Conexion();
            cn.EliminarPregunta(banderapregunta);
            this.txtpregunta.Clear();
            this.txtrespuesta1.Clear();
            this.txtrespuesta2.Clear();
            this.txtrespuesta3.Clear();
            this.txtrespuesta4.Clear();
            banderapregunta = string.Empty;
        }

        private void fillByToolStripButton_Click_2(object sender, EventArgs e)
        {
            try
            {
                this.preguntaTableAdapter1.FillBy(this.proyectoDataSet2.pregunta);
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }

        }

        private void button3_Click(object sender, EventArgs e)
        {
            Conexion cn = new Conexion();
            cn.EliminarUsuario(banderausuario);
            this.txtnombre.Clear();
            this.txtamaterno.Clear();
            this.txtapaterno.Clear();
            this.txtusuarioform.Clear();
            this.txtcontraseniaconf.Clear();
            this.txtcontraseñaform.Clear();
            this.cmbtipo.SelectedIndex = -1;
            txtcontraseñaform.Enabled = true;
            txtcontraseniaconf.Enabled = true;
            banderausuario = string.Empty;
            this.LlenarTabla();
        }

        /*private void tblusuario_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex != -1)
            {
                if (e.ColumnIndex != -1)
                {
                    if (!string.IsNullOrEmpty(tblusuario.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()))
                    {
                        DataGridViewRow fila = TablaPreguntas.CurrentRow;
                        valor = Convert.ToString(proyectoDataSet.Tables[0].Rows[e.RowIndex][1]);
                        txtnombre.Text = valor;
                        valor = Convert.ToString(proyectoDataSet.Tables[0].Rows[e.RowIndex][2]);
                        txtapaterno.Text = valor;
                        valor = Convert.ToString(proyectoDataSet.Tables[0].Rows[e.RowIndex][3]);
                        txtamaterno.Text = valor;
                        valor = Convert.ToString(proyectoDataSet.Tables[0].Rows[e.RowIndex][4]);
                        cmbtipo.Text = valor;
                        valor = Convert.ToString(proyectoDataSet.Tables[0].Rows[e.RowIndex][5]);
                        txtusuarioform.Text = valor;
                        banderausuario = Convert.ToString(proyectoDataSet.Tables[0].Rows[e.RowIndex][0]);
                        txtcontraseñaform.Enabled = false;
                        txtcontraseniaconf.Enabled = false;

                    }
                }
            }
        }*/

        private void button4_Click(object sender, EventArgs e)
        {
            this.txtnombre.Clear();
            this.txtamaterno.Clear();
            this.txtapaterno.Clear();
            this.txtusuarioform.Clear();
            this.txtcontraseniaconf.Clear();
            this.txtcontraseñaform.Clear();
            this.cmbtipo.SelectedIndex = -1;
            txtcontraseñaform.Enabled = true;
            txtcontraseniaconf.Enabled = true;
            banderausuario = string.Empty;
        }


    }
}
